In [1]:
import numpy as np
import matplotlib.pyplot as plt
import tifffile
import os
%matplotlib inline
In [2]:
def custom_check_base(check_side):
    base = np.zeros((check_side,check_side), dtype='uint16')
    base = np.hstack((base,base+1))
    base = np.vstack((base,np.fliplr(base)))
    return base
    
In [3]:
plt.imshow(custom_check_base(16))
plt.show()

For BNS SLM 4x4 Checks

Count by 256s

In [5]:
slm_size = (512,512)
checker_base = custom_check_base(4)
checker_inverse = np.fliplr(checker_base)
directory="K:\Pat's_Projects\Hyperuniformity\BNS Phase Masks\Checker_Board_256s_4x4"
file_list=open(os.path.join(directory,'file_list.sif'),'w')
In [6]:
for i in xrange(0,65535,256):
    checker_image=checker_base*65535+checker_inverse*i
    image=np.tile(checker_image, (slm_size[0]/len(checker_base[0]),slm_size[1]/len(checker_base[0])))
    tifffile.imsave(os.path.join(directory,'checker_board_'+str(i)+'.tiff'), image.astype('uint16'))
    file_list.write('checker_board_'+str(i)+'.tiff\n')
file_list.close()

For BNS SLM 128x128 Checks

1000s

In [46]:
slm_size = (512,512)
checker_base = custom_check_base(128)
checker_inverse = np.fliplr(checker_base)
directory="K:\Pat's_Projects\Hyperuniformity\BNS Phase Masks\Checker_Board_1000s_128x128"
file_list=open(os.path.join(directory,'file_list.sif'),'w')
In [47]:
for i in xrange(0,65535,1000):
    checker_image=checker_base*65535+checker_inverse*i
    image=np.tile(checker_image, (slm_size[0]/len(checker_base[0]),slm_size[1]/len(checker_base[0])))
    tifffile.imsave(os.path.join(directory,'checker_board_'+str(i)+'.tiff'), image.astype('uint16'))
    file_list.write('checker_board_'+str(i)+'.tiff\n')
file_list.close()

For BNS SLM 64x64 Checks

1000s

In [51]:
slm_size = (512,512)
checker_base = custom_check_base(64)
checker_inverse = np.fliplr(checker_base)
directory="K:\Pat's_Projects\Hyperuniformity\BNS Phase Masks\Checker_Board_1000s_64x64"
file_list=open(os.path.join(directory,'file_list.sif'),'w')
In [52]:
for i in xrange(0,65535,1000):
    checker_image=checker_base*65535+checker_inverse*i
    image=np.tile(checker_image, (slm_size[0]/len(checker_base[0]),slm_size[1]/len(checker_base[0])))
    tifffile.imsave(os.path.join(directory,'checker_board_'+str(i)+'.tiff'), image.astype('uint16'))
    file_list.write('checker_board_'+str(i)+'.tiff\n')
file_list.close()

For BNS SLM 2x2 Checks 32,000 Held Constant

1000s

In [23]:
slm_size = (512,512)
checker_base = np.array([[0,0,1,1],
                      [0,0,1,1],
                      [1,1,0,0],
                      [1,1,0,0,]], dtype='uint16')
checker_inverse = np.fliplr(checker_base)
directory="K:\Pat's_Projects\Hyperuniformity\BNS Phase Masks\Checker_Board_1000s_35000_center"
file_list=open(os.path.join(directory,'file_list.sif'),'w')
In [24]:
for i in xrange(0,65535,1000):
    checker_image=checker_base*65535//2+checker_inverse*i
    image=np.tile(checker_image, (slm_size[0]/4,slm_size[1]/4))
    tifffile.imsave(os.path.join(directory,'checker_board_'+str(i)+'.tiff'), image)
    file_list.write('checker_board_'+str(i)+'.tiff\n')
file_list.close()

For BNS SLM 2x2 Checks

1000s

In [15]:
slm_size = (512,512)
checker_base = np.array([[0,0,1,1],
                      [0,0,1,1],
                      [1,1,0,0],
                      [1,1,0,0,]], dtype='uint16')
checker_inverse = np.fliplr(checker_base)
directory="K:\Pat's_Projects\Hyperuniformity\BNS Phase Masks\Checker_Board_1000s"
file_list=open(os.path.join(directory,'file_list.txt'),'w')
In [16]:
for i in xrange(0,65535,1000):
    checker_image=checker_base*65535+checker_inverse*i
    image=np.tile(checker_image, (slm_size[0]/4,slm_size[1]/4))
    tifffile.imsave(os.path.join(directory,'checker_board_'+str(i)+'.tiff'), image)
    file_list.write('checker_board_'+str(i)+'.tiff\n')
file_list.close()

100s

In [3]:
slm_size = (512,512)
checker_base = np.array([[0,0,1,1],
                      [0,0,1,1],
                      [1,1,0,0],
                      [1,1,0,0,]], dtype='uint16')
checker_inverse = np.fliplr(checker_base)
directory="K:\Pat's_Projects\Hyperuniformity\BNS Phase Masks\Checker_Board_100s"
file_list=open(os.path.join(directory,'file_list.txt'),'w')
In [4]:
for i in xrange(0,65535,100):
    checker_image=checker_base*65535+checker_inverse*i
    image=np.tile(checker_image, (slm_size[0]/4,slm_size[1]/4))
    tifffile.imsave(os.path.join(directory,'checker_board_'+str(i)+'.tiff'), image)
    file_list.write('checker_board_'+str(i)+'.tiff\n')
file_list.close()

10s

In [5]:
slm_size = (512,512)
checker_base = np.array([[0,0,1,1],
                      [0,0,1,1],
                      [1,1,0,0],
                      [1,1,0,0,]], dtype='uint16')
checker_inverse = np.fliplr(checker_base)
directory="K:\Pat's_Projects\Hyperuniformity\BNS Phase Masks\Checker_Board_10s"
file_list=open(os.path.join(directory,'file_list.txt'),'w')
In [6]:
for i in xrange(0,65535,10):
    checker_image=checker_base*65535+checker_inverse*i
    image=np.tile(checker_image, (slm_size[0]/4,slm_size[1]/4))
    tifffile.imsave(os.path.join(directory,'checker_board_'+str(i)+'.tiff'), image)
    file_list.write('checker_board_'+str(i)+'.tiff\n')
file_list.close()
In [ ]:
pwd

For BNS 4x4 Checks

In [19]:
slm_size = (512,512)
checker_base = np.array([[0,0,0,0,1,1,1,1],
                      [0,0,0,0,1,1,1,1],
                      [0,0,0,0,1,1,1,1],
                      [0,0,0,0,1,1,1,1],
                      [1,1,1,1,0,0,0,0],
                      [1,1,1,1,0,0,0,0],
                      [1,1,1,1,0,0,0,0],
                      [1,1,1,1,0,0,0,0]], dtype='uint16')
checker_inverse = np.fliplr(checker_base)
directory="K:\Pat's_Projects\Hyperuniformity\BNS Phase Masks\Checker_Board_1000s_8x8"
file_list=open(os.path.join(directory,'file_list.txt'),'w')
In [20]:
for i in xrange(0,65535,1000):
    checker_image=checker_base*65535+checker_inverse*i
    image=np.tile(checker_image, (slm_size[0]/8,slm_size[1]/8))
    tifffile.imsave(os.path.join(directory,'checker_board_'+str(i)+'.tiff'), image)
    file_list.write('checker_board_'+str(i)+'.tiff\n')
file_list.close()

For BNS 8x8 Checks

In [21]:
slm_size = (512,512)
checker_base = np.array([[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1],
                      [0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1],
                      [0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1],
                      [0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1],
                      [0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1],
                      [0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1],
                      [0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1],
                      [0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1],
                      [1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0],
                      [1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0],
                      [1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0],
                      [1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0],
                      [1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0],
                      [1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0],
                      [1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0],
                      [1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0]], dtype='uint16')
checker_inverse = np.fliplr(checker_base)
directory="K:\Pat's_Projects\Hyperuniformity\BNS Phase Masks\Checker_Board_1000s_8x8"
file_list=open(os.path.join(directory,'file_list.txt'),'w')
In [22]:
for i in xrange(0,65535,1000):
    checker_image=checker_base*65535+checker_inverse*i
    image=np.tile(checker_image, (slm_size[0]/8,slm_size[1]/8))
    tifffile.imsave(os.path.join(directory,'checker_board_'+str(i)+'.tiff'), image)
    file_list.write('checker_board_'+str(i)+'.tiff\n')
file_list.close()

For Hamamatsu

In [11]:
import PIL
In [12]:
slm_size = (600,792)
checker_base = np.array([[0,0,1,1],
                      [0,0,1,1],
                      [1,1,0,0],
                      [1,1,0,0,]], dtype='uint16')
checker_inverse = np.fliplr(checker_base)
directory="J:\Pat's Projects\Dynamical Phase Transition\Phase Mask Scripts\Pattern\Image output\Checker_board"
file_list=open(os.path.join(directory,'file_list.txt'),'w')
In [13]:
for i in xrange(0,255,1):
    checker_image=checker_base*255+checker_inverse*i
    image=np.tile(checker_image, (slm_size[0]/4,slm_size[1]/4))
    image = image.astype('uint8')
    
    image_pil = PIL.Image.fromarray(image)
    #print image
    image_pil.save(os.path.join(directory,'checker_board_'+str(i)+'.bmp'))
    file_list.write('checker_board_'+str(i)+'.bmp\n')
In [14]:
file_list.close()

Generate Flat Masks for Hamamatsu

In [21]:
import PIL
import numpy as np
import os
In [22]:
slm_size = (600,792)
directory="J:\Pat's Projects\Dynamical Phase Transition\Phase Mask Scripts\Pattern\Image output\\flat_masks"
file_list=open(os.path.join(directory,'file_list.txt'),'w')
In [23]:
for i in xrange(0,270,15):
    image = np.zeros((600,792))
    image = image + i
    image = image.astype('uint8')
    
    image_pil = PIL.Image.fromarray(image)
    #print image
    image_pil.save(os.path.join(directory,'flat_mask_'+str(i)+'.bmp'))
    file_list.write('flat_mask_'+str(i)+'.bmp\n')
In [24]:
file_list.close()
In [ ]: